package cn.iocoder.yudao.module.member.controller.admin.job.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import lombok.*;
import java.util.*;
import io.swagger.annotations.*;

import com.alibaba.excel.annotation.ExcelProperty;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;


/**
 * 招聘职位 Excel VO
 *
 * @author 谭万全
 */
@Data
public class MemberJobExcelVO {

    @ExcelProperty("企业名称")
    private String companyName;

    @ExcelProperty("所属行业")
    private String industry;

    @ExcelProperty("城市")
    private String city;

    @ExcelProperty("职位名称")
    private String jobName;

    @ExcelProperty(value = "薪资类型", converter = DictConvert.class)
    @DictFormat("salary_type") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private String salaryUnit;

    @ExcelProperty("学历要求")
    private String education;

    @ExcelProperty("工作地址")
    private String workAddress;

    @ExcelProperty(value = "职位状态", converter = DictConvert.class)
    @DictFormat("member_job_status") // TODO 代码优化：建议设置到对应的 XXXDictTypeConstants 枚举类中
    private String status;

    @ExcelProperty("职位点击量")
    private Integer clickCount;

    @ExcelProperty("职位投递量")
    private Integer postCount;

    @ExcelProperty("置顶状态")
    private String topStatus;

    @ExcelProperty("更新时间")
    private Date updateTime;

    @ExcelProperty("发布时间")
    private Date publishTime;


    /**
     * 最低薪资
     */
    @ExcelProperty("最低薪资")
    private Integer lowestSalary;
    /**
     * 最高薪资
     */
    @ExcelProperty("最高薪资")
    private Integer highestSalary;

    /**
     * 工作周期
     */
    @ExcelProperty("工作周期")
    private String workPeriod;
    /**
     * 招聘对象
     * <p>
     * 枚举 {@link TODO recruitment_target 对应的类}
     */
    @ExcelProperty("招聘对象")
    private String identify;
    /**
     * 实习周期
     */
    @ExcelProperty("实习周期")
    private String practicePeriod;
    /**
     * 招聘人数
     */
    @ExcelProperty("招聘人数")
    private Integer recruitmentCount;
    /**
     * 福利标签
     */
    @ExcelProperty("福利标签")
    private String welfareTags;
    /**
     * 职位描述
     */
    @ExcelProperty("职位描述")
    private String jobDescription;

}
